﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Windows.Threading;

namespace WP8.PropiedadesEspeciales.Pages
{
    public partial class PropiedadesDependencia : PhoneApplicationPage
    {
        public PropiedadesDependencia()
        {
            InitializeComponent();
        }

        private void btn_Click(object sender, RoutedEventArgs e)
        {
            int c = 1;

            MiEntidad entidad = new MiEntidad();
            entidad.Descripcion = "1 HIT";
            perryControl.DataContext = entidad;

            DispatcherTimer dt = new DispatcherTimer();
            dt.Interval = TimeSpan.FromSeconds(1.0);
            dt.Tick += (s, a) =>
            {
                c++;
                entidad.Descripcion = c + " HIT";
            };
            dt.Start();
        }
    }

    public class MiEntidad : INotifyPropertyChanged
    {
        private string descripcion;

        public string Descripcion
        {
            get { return descripcion; }
            set { descripcion = value; OnProperyChanged(); }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        private void OnProperyChanged([CallerMemberName] string property = "")
        {
            if(null!=PropertyChanged)
                PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }
}